MuStory:我把自己畫漫畫的流程做成了 macOS App

發佈於 | 分類於 技術

起因

前面寫過一篇《漫畫分鏡——第一次調參數》,記錄我用 AI 把童年故事畫成漫畫的 8 步流程。流程跑通了,但每天在終端裏跑腳本、在文件夾之間來回拷貝素材、在三四個工具之間切來切去——折騰一圈下來,半個下午過去了。

於是我琢磨:要不把這套流程做成一個 App?

不是網頁工具,是一個跑在 macOS 上的原生 App。這就是 MuStory(內部叫 xu-story-studio)。

MuStory 首頁

它能做什麼

一句話:把一段文字故事,變成一份能發出去的漫畫/視頻/圖文。

完整流程是這樣的:

  1. 原文導入:粘貼一段故事原文(我自己寫的童年回憶、神話傳說、公眾號草稿都行)
  2. 角色抽取:App 自動從原文裏解析出人物,建立角色檔案,生成肖像圖、全身圖、三面圖
  3. 分鏡生成:按規則把原文切成 12-20 個鏡頭,每個鏡頭帶旁白、構圖、運鏡、連續性字段
  4. 漫畫生成:每個鏡頭渲染成漫畫格子,角色臉不崩、構圖穩定
  5. 視頻生成:把分鏡變成帶運鏡的動態片段
  6. 配音 + 字幕:TTS 把旁白讀出來,逐字時間軸燒到畫面上
  7. 導出:漫畫格子拼圖、視頻 mp4、公眾號圖文,三條產線並行

MuStory 分鏡板

設計上跟自己較真的幾個地方

一、Liquid Glass 風格的主界面

主界面沒走 macOS 默認那套灰撲撲的工具風。用了藍白色調的 Liquid Glass 質感:項目卡是分層的毛玻璃材質,邊緣有一道白色高光,下面壓一道克制的藍色陰影。

側邊欄選中態、設置面板、場景/角色/分鏡面板,都共用同一套玻璃卡處理。看久了不累,也不像那些把所有顏色都堆上去的設計稿。

二、分鏡板:橫條 + 豎流,獨立滾動

分鏡這個頁面是日常用得最多的。我做了一個不太常見的佈局:

  • 上面是一條固定的橫向鏡頭軌
  • 下面是獨立的豎向詳情區

兩個區域各自滾動,互不干擾。點上面某個鏡頭,下面跳到對應的詳情;改下面某個字段,上面對應的縮略圖同步更新。

三、自己畫的玻璃滾動條

macOS 系統的滾動條又粗又會遮內容,我把它拆了,換成 7pt 寬的藍白色材質軌道。平時半透明,hover 加深,拖動時不擋畫面。

角色面板

細節控可能會在意這種東西。我自己每天看這個 App 十幾個小時,滾動條難看是真的難受。

四、角色參考圖優先級

畫漫畫最大的痛點是:角色臉每格都不一樣。

MuStory 給每個角色建了三類參考圖——肖像、全身、三面。生成的時候按優先級喂給模型:肖像優先,沒有就退全身,再沒有退三面。優先級可以在角色檔案裏手動調。

五、分鏡快照不可變

這是踩了無數坑之後加的機制。

每個分鏡生成那一刻,它的原文錨點、角色、場景、運鏡、連續性字段會凍結成一份快照。後面漫畫、視頻、配音都基于這份快照跑——而不是基於當前的分鏡狀態。

這樣就算我中途改了分鏡文字,已經生成出來的素材還是和原文一致的。不會出現「旁白改了但畫面還是舊版」這種破事。

技術棧

純原生:

  • SwiftUI 寫界面
  • AppKit / AVKit 處理視頻和音頻
  • 故事工作線程(StoryWorker)獨立進程跑生成任務,主線程不被卡
  • 一個 StoryModels.swift 71 個 struct/enum,把項目、分鏡、角色、生成任務、供應商配置全部類型化

外部供應商可插拔:fal.ai、OpenAI、Google、Kling、ElevenLabs、Suno、Runway……密鑰都在 .env 裏,有哪個填哪個,沒有的對應能力就自動降級。

還沒解決的問題

不裝。說幾個現在還痛的:

  1. 視頻運鏡不穩:高風險動作模式(推近、搖鏡)經常讓角色臉飛出畫面。我加了「固定機位」兜底,但犧牲了動態感。
  2. Agnes 免費模型會閉眼、張嘴:免費的總有代價。
  3. 首頁沒有像素級設計稿:是按照批准過的行為描述和現成視覺 token 拼出來的,目前 P3 待完善。
  4. 跨項目資產復用:現在一個角色在一個項目裏建好,換項目得重導入。這個遲早要做。

寫在最後

MuStory 不是要和市面上的 AI 漫畫工具競爭。它就是我自己的一套流程:把一段故事,穩定地、可復用地、不出戲地變成漫畫和視頻

市面上的工具追求「一鍵生成」,我追求「每一步都可調、可審核、可回滾」。

效果怎麼樣?《女媧:摶土造人與煉石補天》那一整套 13 格漫畫就是用它跑出來的,包括分鏡、角色參考、漫畫格、視頻片段、字幕和配音。文章已經發在這個博客的人物本紀分類下。

工具會繼續打磨,故事也會繼續講。

下一個目標:把《請回答1992》整套童年故事用 MuStory 連載成漫畫。

覺得有用?請我喝杯咖啡 ☕

如果文章對你有幫助,歡迎支持一下~

赞赏二维码